package com.ufgov.pdf.entity.table;

import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.ufgov.pdf.entity.Title;

/**
 * 对应xml中的tablepage标签
 * 在目前的设计当中，tablepage是root元素
 * @author lihh
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
//@XmlRootElement，将Java类或枚举映射成XML元素根节点，是唯一一个必须注解，name属性指定根节点名称，不指定默认为类名的小写；
@XmlRootElement(name = "tablepage")
@XmlType(propOrder = { "title", "tableList" })
public class Tablepage {
//	@XmlAttribute，将Java类的一个属性映射为XML节点元素的属性，name属性可自定义属性名；
	@XmlAttribute(name="file-name")
	private String fileName;

	//@XmlElement，将Java类的一个属性映射为XML节点元素，name属性可自定义元素名；
	@XmlElement(name = "title")
	private Title title;
	
//	@XmlElementWrapper ，对于数组或集合（即包含多个元素的成员变量），生成一个包装该数组或集合的XML元素（称为包装器），该注解只能用在集合上
	@XmlElementWrapper(name = "tables")
	@XmlElement(name = "table")
	private List<Table> tableList;


	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	
	public Title getTitle() {
		return title;
	}

	public void setTitle(Title title) {
		this.title = title;
	}

	public List<Table> getTableList() {
		return tableList;
	}

	public void setTableList(List<Table> tableList) {
		this.tableList = tableList;
	}

}
